The Common Object Request Broker Architecture (CORBA) of the Object Management Group (OMG) is a set of specifications defining a language-independent distributed object architecture including object request brokers (ORBs) for transparently managing the details of making requests and receiving responses of remote objects. Details on CORBA, including the complete specification, may be had from the Object Management Group, 492 Old Connecticut Path, Framingham, Mass. 01701.
In order for CORBA object implementations to interact with CORBA ORBs, object adapters (OAs) are used. Object adapters provide a standardized interface for object implementations, but themselves communicate with ORBs via vendor-specific interfaces. Object adapters are responsible for demultiplexing requests from remote clients and dispatching the requests to appropriate servant object implementations, activating and deactivating objects and generating object references among other functions.
Object request broker servers typically comprise transport functionality, such as an implementation of the OMG's IIOP transport protocol, and object adapter (OA) functionality, such as an implementation of the CORBA POA. Object adapter functionality includes any facility for executing method implementations in response to invoked operation requests. Other transports and object adapters may be included in addition to or instead of IIOP and the POA. In a server ORB, a transport receives requests sent by client ORBs, which are then dispatched to the proper object adapter. Requests received from local invocation interfaces rather than from transports may also need to be dispatched to the proper object adapter. The ORB server may also include other ORB service functionality that is involved in processing requests, such as security, transaction, or management services.
ORB clients in the CORBA environment use Interoperable Object References (IORs) generated by servers to request operations on target objects. The CORBA specification describes a structural framework for CORBA IORs, comprising a set of profiles. Profiles may include a portion called the object key that may be included in client request messages to identify the target object of the request. The object key format is not specified by CORBA and may be opaque (not parsed or interpreted) to application developers and to client side ORBs.